#include <iostream>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/types.h>
#include<cstdlib>
// int main()
// {
//     while(true)
//     {
//         std::cout<<"pid : "<<getpid()<<std::endl;
//         sleep(1);
//     }
//     return 0;
// }


// int main()
// {
// 	if (fork() == 0){
// 		//child
// 		printf("I am running...\n");
// 		int *p = NULL;
// 		*p = 100;
// 		exit(0);
// 	}
// 	//father
// 	int status = 0;
// 	waitpid(-1, &status, 0);
// 	printf("exitCode:%d, coreDump:%d, signal:%d\n",
// 		(status >> 8) & 0xff, (status >> 7) & 1, status & 0x7f);
// 	return 0;
// }

// void handler(int signal)
// {
// 	printf("get a signal:%d   pid: %d \n", signal,getpid());
// }
// int main()
// {
// 	int signo;
// 	for (signo = 1; signo <= 31; signo++){
// 		signal(signo, handler);
// 	}
// 	while (1){
// 		sleep(1);
// 	}
// 	return 0;
// }

// void handler(int signo)
// {
//     std::cout << "get a sig : " << signo <<"  pid : "<<getpid()<< std::endl;
//     sleep(100);
// }
// int main()
// {
//     signal(6, handler);
//     while (true)
//     {
//         sleep(1);
//         abort();
//     }
//     return 0;
// }



// int main()
// {
//     alarm(1);
//     int cnt=0;
//     while(true) 
//     {
//         cnt++;
//         std::cout<<" cnt : "<<cnt<<std::endl;
//     }
//     return 0;
// }

// int cnt=1;
// void handler(int sig)
// {
//     std::cout<<"get a sig: "<<sig<<" cnt: " <<cnt<<std::endl;
//     exit(0);
// }
// int main()
// {
//     signal(SIGALRM,handler);
//     alarm(1);
//     while(cnt++);
//     return 0;
// }



int main()
{
	printf( "I am running. . .\n" );
	sleep(3);
	int *p = NULL;
	*p = 100;
	return 0;
}













